FIG. 1 depicts telecommunications system 100 in the prior art. System 100 comprises telecommunications network 101; client endpoints 102-1 through 102-H, wherein H is a positive integer; and servers 103-1 through 103-L, wherein L is a positive integer. The elements of system 100 are interconnected as shown. System 100 enables calls, via network 101, between endpoints 102-1 through 102-H and servers 103-1 through 103-L. Network 101 comprises one or more of the Internet, the Public Switched Telephone Network (PSTN), a local area network (LAN), and so forth.
Client endpoints 102-1 through 102-H are telecommunications devices such as an Internet-protocol telephone, a notebook computer, a personal digital assistant (PDA), a tablet computer, and so forth. Each endpoint is capable of originating outgoing calls and receiving incoming calls, in well-known fashion. In addition, each endpoint is capable of one or more communication modes that comprise but are not limited to voice, video, data, email, and instant messaging.
Servers 103-1 through 103-L are data-processing systems that handle telecommunications features that can be subscribed to by the endpoints. The servers are capable of handling features such as voice calling, video streaming, data retrieval, email, instant messaging, availability and presence monitoring, and so forth.
Telecommunications system 100 operates in accordance with the Session Initiation Protocol (SIP), a set of standardized communication rules for initiating and maintaining communication for telephony, presence-based systems, instant messaging, and other telecommunications applications. The increasing use of SIP-based systems represents a fundamental shift in telecommunications, in which a user can be addressed as a logical entity that might possess one or more devices, with each device going in and out of service based on the usage patterns of the user.
As new telecommunications features are built onto the SIP infrastructure, issues are emerging that affect performance throughout telecommunications system 100 and, in particular, servers 103-1 through 103-L. One such issue is an increase in network traffic. For example, as features that are related to monitoring the client endpoints are introduced at a centralized server that also handles call processing, the number of SIP-related events that the server must handle also increases, and consequently the server's capacity to process calls becomes severely degraded.
In some techniques in the prior art, the scalability issue that arises in a centralized server architecture is partially mitigated by partitioning the client endpoint users across multiple servers. Doing so, however, often has the effect of spreading out the call processing-related resource utilization, but not necessarily the SIP events-related utilization. Consequently, there are at least three issues with the centralized server architecture in the long run. First, as the user acquires more and more SIP-enabled endpoints that can communicate media or report presence, there will be less of an opportunity for scalability through mere partitioning; this is because the call processing-related resource utilization will amount to a smaller and smaller fraction of the total utilization. Second, as the variety of endpoint types increases and the demand for ease-of-use by the end user increases, the complexity of the centralized server will increase exponentially. And third, as the server complexity increases, so will the effort that will be required for the development of new features.
What is needed is a way to mitigate the server scalability issue, without some of the disadvantages in the prior art.